I. Field of the Invention
The present invention relates to a method and apparatus for developing microcomputer-based systems.
II. Description of Related Art
There are many applications in which a microcomputer is utilized to control a device oftentimes referred to as the “plant”. For example, in the automotive industry, a microcomputer may be utilized to control the actuation of the engine throttle. In that event, the engine throttle is the plant.
In order to facilitate the development of such microcomputer-based systems, there have been previously known simulation or development programs which simulate the operation of the system. These previously known programs use real microcontrollers on real plants. Under program control, the controller then provides signals to the plant to command the plant to perform the desired operation.
As a part of the development of the microcomputer-based system, it is almost always necessary to debug and fine tune the software executed by the controller. This has been previously accomplished by providing break points within the controller program code. Once a break point is encountered in the controller, the execution of the program halts and enables the programmer to examine various parameters of both the controller model as well as the plant model. These parameters include the value of registers, the status of various input and output signals, interrupt status, stock, etc.
After the desired operation of the system has been obtained, the break point is typically removed. Furthermore, the debugging and fine tuning of the microcomputer and plant is an iterative process. For example, once a particular section of the controller program has been fine tuned and/or debugged and the break point removed, it is necessary to insert break points in other sections of the program of the controller until the entire program has been debugged and fine tuned to achieve the desired plant operation.
A primary disadvantage of this previously known method for developing controllers and plants is that the insertion of one or more break points within the program for the controller necessarily is intrusive since it requires a change in the programming of the controller. Such intrusive changes in the programming for the controller in turn oftentimes result in unwanted and unexpected changes in the operation of either the controller or the plant or both. Such unexpected and unwanted changes in turn require additional debugging and fine tuning of the overall microcomputer-based system.
A still further disadvantage of these previously known development programs for microcomputer-based systems is that, while the execution of the controller may be halted whenever desired, the plant usually exhibits mechanical characteristics, such as inertia, and cannot be halted whenever desired. Consequently, following a suspension of execution of the controller, upon the continued execution of the controller the plant is in a different position or configuration than at the time execution of the controller program was halted. This discrepancy results in error of the system operation thus necessitating further debugging and controller programming development.